package com.springboot.learning.result;

import java.util.HashMap;
import java.util.Map;

/**
 * 通用错误码
 * 
 * @author Administrator
 *
 */
public enum ResultErrorCode {

	/**
	 * 200 正常
	 */
	OK(200, "正常"),

	/**
	 * 500 内部错误
	 */
	InternalError(500, "内部错误"),

	/**
	 * 10001 会话超时
	 */
	SessionExpired(10001, "会话超时"),

	/**
	 * 10002 参数错误
	 */
	ParamError(10002, "参数错误");

	private ResultErrorCode(int value, String desc) {
		this.code = value;
		this.message = desc;
	}

	static Map<Integer, ResultErrorCode> valueMap;

	static {
		valueMap = new HashMap<Integer, ResultErrorCode>();
		for (ResultErrorCode item : ResultErrorCode.values()) {
			valueMap.put(item.getCode(), item);
		}
	}

	/**
	 * 通过枚举值获取枚举
	 * 
	 * @param value
	 * @return
	 */
	public static ResultErrorCode getResultErrorCode(int value) {
		ResultErrorCode result = ResultErrorCode.OK;
		if (valueMap.containsKey(value))
			result = valueMap.get(value);
		return result;
	}

	/**
	 * 枚举值
	 */
	private int code;

	/**
	 * 枚举描述
	 */
	private String message;

	public int getCode() {
		return code;
	}
	
	public String getMessage() {
		return message;
	}

	
}
